[速報]サービス間通信をシンプルに実現するAmazon VPC Lattice(プレビュー)が発表されました! #reinvent
ども、大瀧です。
現在開催中のAWS re:Invent 2022で発表されたVPCの新機能、Amazon VPC Latticeをご紹介します。
VPC Latticeとは
VPC Latticeはサービス間通信をシンプルに実現するVPCの新しい機能です。サービス間通信に利用できるAWSの機能としてELB(Elastic Load Balalncing)やAPI Gateway、RAMによるVPCサブネット共有などがありますが、VPC LatticeはVPCの一機能という特性を活かし、ネットワーク構成を極力意識せずに利用できる点や異なるAWSアカウントおよびVPCとの連携を一元的に扱える点がユニークと言えそうです。
VPC Latticeの構成
ELBの構成によく似ています。以下をそれぞれ設定し、サービス連携に利用します。
- リスナ: 1つまたは複数のリスナを任意のポート番号とプロトコルで構成します。サポートするプロトコルはHTTP/1.1、HTTP/2、gRPCでTLSサポートを含みます
- ターゲットグループ: 転送先をターゲットグループとして構成します。EC2インスタンスのほか、Lambda関数やKubernetesのServiceやPod *1などが指定できるようです
- ルール: 複数のターゲットグループに対して、パスベースルーティングやウェイトルーティングを構成できます
また、サービスネットワークとしての共有設定では、以下を構成します。
- VPC関連付け: 共有元と共有先のVPCをそれぞれ選択します
- 認証: 必要に応じて、AWS IAM認証を設定できます
- アクセスログ: CloudWatch LogsやS3バケットにアクセスログを保存できます
いずれの構成もAWSブログにスクリーンショットが載っていますので、具体的にどのような設定ができるか気になる方はそちらを参照するのが良いでしょう。
利用料金
VPC Latticeは1時間単位のサービス実行課金とデータ転送課金、リクエスト課金の3つがそれぞれかかります。東京リージョンでは以下の通りです。
- サービス実行: 1時間あたり $0.0325
- データ転送: 1GBあたり $0.0325
- リクエスト: 100万リクエストあたり $0.13
たとえば1ヶ月にデータ転送1GB、100万リクエストを想定すると、 23.4 + 0.0325 + 0.13 = $23.5625 という感じです。
ELBが1時間あたり$0.0243、異なるVPCにELBを共有するVPCエンドポイントが1時間あたり$0.014なので、異なるVPC向けに通信を提供する方法としてVPC Latticeはそれらの組み合わせと同じくらいの料金ボリュームになるかなと思います(データ転送はVPCエンドポイントの方が安いです)。
価格ページには複数のリージョンでの価格が公開されていますが、プレビューはオレゴンリージョンのみ提供されることに注意してください。
まとめ
サービス間通信をシンプルに実現するVPCの新機能、VPC Latticeをご紹介しました。現在はプライベートプレビューなので、興味のあるかたは以下のフォームからwaitlistにエントリーしてみましょう!
脚注
- Kubernetes側でAWS Gateway Controller for Kubernetesの追加構成が必要 ↩